With the growth of high-speed data transfer, there has also been a correlating growth in image compression techniques for the compression of video images so they may be transferred at a higher rate of speed. For example, a well-recognized example of one available image compression technique is the Motion Pictures Experts Group (“MPEG”) compression techniques, such as MPEG-1, MPEG-2 and MPEG-4.
While an image is compressed using any of the image compression techniques, when an image is decompressed, there are unwanted artifacts that may arise. For example, in some decoding techniques, an artifact known as a blocking effect or mosquito noise may occur. Mosquito noise compression artifacts may also be commonly referred to as “DeRinging”. In the blocking effect, these artifacts may be frame independent and cause the loss of data through the compression of various blocks. When a block is decompressed, a line or other visual artifact may be disposed between pixels.
Another unwanted artifact may be unclear text or other lettering effects. In one example, the repeating of a letter or noise around the letter may be a decompression artifact or it may provide pixels of varying colors.
There currently exists techniques using algorithms to perform deblocking. Although, current implementations are not cost-effective due to requiring upwards of eight or more passes to do the deblocking. Moreover, the current deblocking algorithms are also linear, therefore, they must do a line-by-line computation. This deblocking algorithm is very inefficient and extremely costly in hardware computation, processing speed and is not a feasible implementation with a standard computing system.
Another artifact reduction technique is to determine if a line must be modified by examining specific pixels. If the pixels must be modified, the process includes rotating the picture by 180° and performing processing steps on a second line. Once again, this algorithm is expensive to perform as it contains many steps and cannot be performed in a real-life processing scenario. Typically, this algorithm requires approximately 33 milliseconds per frame to do all of the computations and in a standard computing system, the maximum computation must be performed at a rate of at least 10 milliseconds per frame. Although, the above technique may be performed for small amounts of data, it is not applicable to large amounts of data, such as a continuous stream or a compressed video file.
Another prior art approach, such as disclosed by U.S. Pat. No. 5,850,294, discloses a filtering on true non-edge pixels within blocks containing edge pixels rather than smoothing the edge pixels. This technique seeks to avoid eventual blur and picture sharpness loss due to true edge filtering. This technique utilizes discrete cosine transform domain detection rather than edge detection in the pixel processing pipeline. Therefore, the system does not process true edge pixels but rather passes the pixels unprocessed in order to retain sharpness.
As such, there exists a need for a post-processing filter operation capable of performing the reduction or elimination of image compression artifacts in a decompressed video input, wherein the processing can take place in a real-time processing operation and includes filtering for all pixels within an image.